package com.xian.tszs.meal.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

import com.xian.tszs.meal.entity.TsGoods;

public interface TsGoodsMapper {

	/**
	 * 分页商品
	 * 
	 * @author: MRC
	 * @date 2019年5月20日 下午3:41:00
	 * @return List<TsGoods> 返回类型
	 */
	List<TsGoods> findGoodsAll(TsGoods tsGoods);
	
	@Insert("INSERT INTO `meal`.`ts_goods`(`id`, `name`, `state`, `explain`, `type_max`, `specification`,`specification_name`,`price`, `max_pic`, `business_id`, `collection_volume`, `browse_volume`, `sales_volume`, `create_time`) VALUES (#{id},#{name},#{state},#{explain},#{typeMax},#{specification},#{specificationName},#{price},#{maxPic},#{businessId},0,0,0,#{createTime})")
	void saveGood(TsGoods tsGoods);
	
	/***
	 * 修改商品详情
	* @author: MRC  
	* @date 2019年5月21日 下午3:46:19 
	* @return void 返回类型
	 */
	@Update("update ts_goods set name = #{name},`explain` = #{explain},type_max=#{typeMax},specification=#{specification},specification_name = #{specificationName},price=#{price},max_pic=#{maxPic} where id = #{id} limit 1")
	void updateGoods(TsGoods tsGoods);
	
	/***
	 * 修改商品状态
	* @author: MRC  
	* @date 2019年5月21日 下午4:11:08 
	* @return void 返回类型
	 */
	@Update("update ts_goods set state = #{value} where id =#{id}")
	void updateGoodsState(@Param("value")String value,@Param("id")String id);
	
	/***
	 * 伪删除 删除多个商品
	* @author: MRC  
	* @date 2019年5月27日 下午3:44:14 
	* @return void 返回类型
	 */
	void deleteMany(String[] ids);
	
	/***
	 * 伪删除单个
	* @author: MRC  
	* @date 2019年5月27日 下午3:50:23 
	* @return void 返回类型
	 */
	@Update("update ts_goods set `status` = 2 where id =#{id}")
	void deleteById(String id);
	
	/***
	 * 修改商品销售量
	* @author: MRC  
	* @date 2019年5月27日 下午4:55:48 
	* @return void 返回类型
	 */
	@Update("update ts_goods set sales_volume = #{num} where id = #{id}")
	void updateSalesVolume(@Param("num")Integer num,@Param("id") String id);
	
	/***
	 * 修改商品浏览量
	* @author: MRC  
	* @date 2019年5月27日 下午4:58:20 
	* @return void 返回类型
	 */
	@Update("update ts_goods set browse_volume = browse_volume + 1  where id = #{id}")
	void updateBrowseVolume(String id);
	
}
